﻿#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main()
//{
//    int n;
//    scanf("%d", &n);
//    while (n != 1)
//    {
//        if (n % 2 != 0)
//        {
//            printf("%d*3+1=%d\n", n, n * 3 + 1);
//            n = n * 3 + 1;
//        }
//        else
//        {
//            printf("%d/2=%d\n", n, n / 2);
//            n = n / 2;
//        }
//    }
//    printf("end");
//}

//描述
//
//输入两个正整数m和k，其中1 < m < 100000，1 < k < 5 ，判断m 能否被19整除，且恰好含有k个3，如果满足条件，则输出YES，否则，输出NO。 例如，输入：43833 3，满足条件，输出YES。如果输入：39331 3，尽管有3个3，但不能被19整除，也不满足条件，应输出NO。
//
//
//	输入
//	m 和 k 的值，中间用单个空格间隔。
//
//
//	输出
//	满足条件时输出 YES，不满足时输出 NO。
//
//
//	输入样例 1
//
//	43833 3
//	输出样例 1
//
//	YES
#include <stdio.h>
int main() {
    int m, x, count = 0;
    int arr[10];
    scanf("%d %d", &m, &x);
    // 先判断是否能被 10 整除
    if (m % 10 != 0) {
        printf("NO");
    }
    else {
        int temp = m;
        // 统计数字 x 出现的次数
        while (temp > 0) {
            int digit = temp % 10;
            if (digit == x) {
                count++;
            }
            temp = temp / 10;
        }
        // 判断数字 x 出现的次数是否等于 x
        if (count == x) {
            printf("YES");
        }
        else {
            printf("NO");
        }
    }
    return 0;
}